package com.you.learning.jvm.fullgc;

/**
 * @Description
 * @Author yough
 * @Version V1.0.0
 * @Since 1.0
 * @Date 2021/1/29
 */
public class FullgcDemo1 {
    public static void main(String[] args) {
        /**
         * JVM参数设置，模拟触发full gc的场景
         * -XX:NewSize=10m
         * -XX:MaxNewSize=10m
         * -XX:InitialHeapSize=20m
         * -XX:MaxHeapSize=20m
         * -XX:SurvivorRatio=8
         * -XX:MaxTenuringThreshold=15
         * -XX:PretenureSizeThreshold=3m
         * -XX:+UseParNewGC
         * -XX:+UseConcMarkSweepGC
         * -XX:+PrintGCDetails
         * -XX:+PrintGCTimeStamps
         * -Xloggc:gc.log
         */
        // 注意：-XX:PretenureSizeThreshold=3m，标识大于3m的对象会直接进入老年代，不会再Eden区分配空间。
        byte[] array1 = new byte[4 * 1024 * 1024];
        array1 = null;

        byte[] array2 = new byte[2 * 1024 * 1024];
        byte[] array3 = new byte[2 * 1024 * 1024];
        byte[] array4 = new byte[2 * 1024 * 1024];
        byte[] array5 = new byte[128 * 1024];

        byte[] array6 = new byte[2 * 1024 * 1024];

    }
}
